It is not uncommon for an organization to have hundreds, if not thousands of computer systems, such as personal computers, work stations, servers, clients, etc. As organizations become increasingly dependent on the proper operation of their computer systems, the proper administration of these computer systems is becoming ever more important.
The day-to-day administration of the computer systems in an organization is a complex task and presents a major challenge. For example, certain applications, such as MICROSOFT's Exchanger Server application, which play an integral part in the operations of the organization, need to be properly executing and available at all times. These applications are typically configured to be executing with a large list of settings and configurations. A slight deviation from one of the parameters—i.e., settings and/or configurations—can cause expensive downtimes. Moreover, the human cost associated with keeping these applications properly executing within the desired settings and configurations, and determining when and/or if there is a change to the settings and/or configurations in a timely manner, is very expensive.
Organizations typically assign the task of administering the proper performance of the computer systems, including the applications to a team of information technology professionals generally known as system administrators. System administrators strive to ensure the proper operation of the computer systems and the applications provide proper and consistent service to their users.
To assist in the performance of their tasks, system administrators typically utilize one or more system management tools. Current system management tools are able to gather information regarding the managed computer systems. For example, system administrators can use the system management tools to gain knowledge of “what” is on the computer systems. However, current system management tools do not allow system administrators to express the administrative intent. Stated differently, while current system management tools allow system administrators to know “what is out there” (e.g., know what computer systems are in the organization; know what applications are executing; know how the applications are configured; etc.), current system management do not allow system administrators to make the computer systems in the organization “what they ought to be.” Moreover, current system management tools are deficient in allowing system administrators to perform actions based on the information gathered by the system management tools.